<?php

/**
 * StatusNet, the distributed open-source microblogging tool
 *
 * Widget to show a list of groups
 *
 * PHP version 5
 *
 * LICENCE: This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 * @category  Public
 * @package   StatusNet
 * @author    Evan Prodromou <evan@status.net>
 * @copyright 2008-2009 StatusNet, Inc.
 * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
 * @link      http://status.net/
 */

if (!defined('STATUSNET') && !defined('LACONICA')) {
	exit(1);
}

require_once INSTALLDIR.'/lib/widget.php';

define('PRODUCTS_PER_PAGE', 20);

/**
 * Widget to show a list of groups
 *
 * @category Public
 * @package  StatusNet
 * @author   Evan Prodromou <evan@status.net>
 * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
 * @link     http://status.net/
 */

class Amwayproductlist extends Widget {
	/** Current group, group query. */
	var $product = null;
	/** Owner of this list */
	var $owner = null;
	/** Action object using us. */
	var $action = null;

	function __construct($product, $owner=null, $action=null) {
		parent::__construct($action);

		$this->product = $product;
		$this->owner = $owner;
		$this->action = $action;
	}

	function show() {


		$cnt = 0;
		$rp = 0;


		$this->out->elementStart('table',array('style' => 'width:100%','align'=>'center'));
		$this->out->elementStart('tr');


		while ($this->product->fetch()) {
			$cnt++;
			$rp++;
			
			if($cnt > PRODUCTS_PER_PAGE) {
				break;
			}
			$this->showgroup();
			if ($rp==3){
				$rp=0;


				$this->out->elementEnd('tr');
				$this->out->elementStart('tr');
					
			}
		}

			
		$this->out->elementEnd('tr');
		$this->out->elementEnd('table');


		return $cnt;
	}

	function showGroup() {
		$this->out->elementStart('td',array('style' => 'width:30%'));
		$this->out->elementStart('table',array('style' => 'width:100%','align'=>'center'));
		$this->out->elementStart('tr');
		$this->out->elementStart('td',array('rowspan' => '2'));
		$this->out->element('img', array('src' => $this->product->url,
		            'class' => 'photo avatar',
		            'width' => AVATAR_PROFILE_SIZE,
		            'height' => AVATAR_PROFILE_SIZE,
					 'title' => $this->product->description,
					'tip' => $this->product->description,	
		            'alt' =>
		($this->product->product_name) ? $this->product->product_name :
		$this->product->product_name));
		$this->out->elementEnd('td');
		$this->out->elementStart('td');
		if ($this->product->product_code) {
			$this->out->raw($this->product->product_code);				

		}
		$this->out->elementEnd('td');
		$this->out->elementEnd('tr');
		$this->out->elementStart('tr');
		$this->out->elementStart('td');
		if ($this->product->product_name) {
				
			$this->out->elementStart('span', 'fn org');
			$this->out->raw($this->highlight($this->product->product_name));
			$this->out->elementEnd('span');
				
		}
		$this->out->elementEnd('td');
		$this->out->elementEnd('tr');	
		$this->out->elementEnd('table');
		$this->out->elementEnd('td');

	}

	/* Override this in subclasses. */

	function showOwnerControls() {
		return;
	}

	function highlight($text) {
		return htmlspecialchars($text);
	}
}
